package fun.yao.common;

import fun.yao.common.uitls.ConfigUtil;

public final class Constant {
	// -------------------------------------------日志类型
	/** 调试信息 */
	public final static int DEBUG = 0;
	/** SQL信息 */
	public final static int SQL = 1;
	/** 普通信息 */
	public final static int INFO = 2;
	/** 通知信息 */
	public final static int NOTICE = 3;
	/** 警告信息 */
	public final static int WARNING = 4;
	/** 普通错误信息 */
	public final static int NORMAL_ERROR = 5;
	/** 严重错误信息 */
	public final static int BADLY_ERROR = 6;



	/** 报文中字段域之间的分隔符 */
	public final static char MSG_SEPARATOR_FIELD = '#';
	/** 报文单个域中，字段名称与字段值之间的分隔符 */
	public final static char MSG_SEPARATOR_VALUE = '=';




	// 系统类
	/** 日志文件： 系统日志（运行信息） */
	public final static String LF_SYSTEM = ConfigUtil.getConfigByString(
			"LF_SYSTEM", "System");
	/** 日志文件： 错误日志（不包括GessException) */
	public final static String LF_ERROR = ConfigUtil.getConfigByString(
			"LF_ERROR", "Error");

	// 文件缓存的路径
	public static String CACHE_PATH = (String) System.getProperties().get(
			"user.dir")
			+ "/cache";

	// -------------------------------------------分隔符配置
	/** 多级记录分隔符 ^ | , */
	public static char[] SEPARATOR_RECORD = new char[] {};

	/** 报文长度域的长度 */
	public static int MSG_LEN_LEN = 8;

	/** 交易处理成功的响应代码 */
	public static String RSP_CODE_SUCCEED = "00000000";


	/** 日志级别 */
	public static String CFG_LOG_LEVEL = ConfigUtil.getConfigByString(
			"LOG_LEVEL", "2,3,4,5,6");

	/** 日志文件名 */
	public static String CFG_LOG_PATH = ConfigUtil.getConfigByString("LOG_PATH",
			"./log");

	/** 当前过行环境的字符集 */
	public static String CFG_CHARSET_NAME = ConfigUtil.getConfigByString(
			"CHARSET_NAME", "GBK");

	/** 不需要压缩响应报文的最大字节数 */
	public static int CFG_NOT_ZIP_MAX_SIZE = ConfigUtil.getConfigByInt(
			"CFT_NOT_ZIP_MAX_SIZE", 500);

	/** Socket心跳包发送的间隔时间(秒) */
	public static int CFG_SOCKET_TEST_INV_TIME = ConfigUtil.getConfigByInt(
			"SOCKET_TEST_INV_TIME", 5);

	/** Socket尝试连接的时间间隔（秒） */
	public static int CFG_SOCKET_LINK_INV_TIME = ConfigUtil.getConfigByInt(
			"SOCKET_LINK_INV_TIME", 3);

	/** Socket主动断开连接的超时时间（秒） */
	public static int CFG_SOCKET_TIMEOUT_TIME = ConfigUtil.getConfigByInt(
			"SOCKET_TIMEOUT_TIME", 99999999);

	/** 统计数据流量的单位时间(计量单位:毫秒)，默认5*60*1000 */
	public final static int CFG_COLLECT_DATA_STREAM_SIZE_TIME = ConfigUtil
			.getConfigByInt("COLLECT_DATA_STREAM_SIZE_TIME", 5 * 60 * 1000);


	/** 报文类型：交易类 */
	public final static String MSG_TYPE_TRANS = "1";

	/** 报文标识：响应报文 */
	public final static String MSG_FLAG_RSP = "2";



}
